home *** CD-ROM | disk | FTP | other *** search
/ The Utilities Experience / The Utilities Experience - Volume 1.iso / software / emulation / amoricv0_9 / src / cpumacros_020.asm < prev    next >
Assembly Source File  |  1995-10-29  |  2KB  |  95 lines

  1.  
  2.     
  3. ; *** Macros Test des drapeaux ***
  4.  
  5. ; *** N et Z
  6.  
  7. TEST_NZ: MACRO
  8.      move    ccr,d0
  9.     andi.w    #%00001100,d0    ; Bits Z et N
  10.     andi.b    #%01111101,d4   ; (bits N et Z de P a 0)
  11.     or.b    TabNZ-TabP(A3,D0.W),D4
  12.     ENDM
  13.  
  14.         
  15. ; *** Macro Test des drapeaux N,Z et C ***
  16.     
  17. TEST_NZC: MACRO
  18.      move    ccr,d0
  19.     andi.w    #%00001101,d0    ; Bits Z,N et C
  20.     andi.b    #%01111100,d4   ; (bits N,Z et C de P a 0)
  21.     or.b    TabNZC-TabP(A3,D0.W),D4
  22.     ENDM
  23.  
  24. ; *** Macro Test des drapeaux N,Z,C et V ***
  25.     
  26. TEST_NZCV: MACRO
  27.      move    ccr,d0
  28.     andi.w    #%00001111,d0    ; Bits Z,N,C et V
  29.     andi.b    #%00111100,d4   ; (bits N,V,Z et C de P a 0)
  30.     or.b    TabNZCV-TabP(A3,D0.W),D4
  31.     ENDM
  32.  
  33. ; *** Mettre Z de CCR a 0 et X en fction de C de P
  34.  
  35. SET_C2X:MACRO
  36.     move    ccr,D0
  37.     TST_PB    C_BIT
  38.     beq.b    SCX_NoCarry\@
  39.     bset    #4,D0
  40.     bra.b    SCX_End\@
  41. SCX_NoCarry\@:
  42.     bclr    #4,D0
  43. SCX_End\@:
  44.     move    D0,ccr
  45.     ENDM
  46.  
  47. SET_XZ_ADC:MACRO
  48.     move    ccr,D0
  49.     TST_PB    C_BIT
  50.     beq.b    SXZA_NoCarry\@
  51.     bset    #4,D0
  52.     bra.b    SXZA_End\@
  53. SXZA_NoCarry\@:
  54.     bclr    #4,D0
  55. SXZA_End\@:
  56.     bset    #2,D0    ; Mettre Z a 1
  57.     move    D0,ccr
  58.     ENDM
  59.  
  60. SET_XZ_SBC:MACRO
  61.     move    ccr,D0
  62.     TST_PB    C_BIT
  63.     bne.b    SXZS_NoCarry\@
  64.     bset    #4,D0
  65.     bra.b    SXZS_End\@
  66. SXZS_NoCarry\@:
  67.     bclr    #4,D0
  68. SXZS_End\@:
  69.     bset    #2,D0    ; Mettre Z a 1
  70.     move    D0,ccr
  71.     ENDM
  72.  
  73. ; *** Macros Tests NZC pour CMP,CPX,CPY ***
  74.  
  75. TEST_CMP: MACRO
  76.      move    ccr,d0
  77.     andi.w    #%00001101,d0    ; Bits Z,N et C
  78.     andi.b    #%01111100,d4   ; (bits N,Z et C de P a 0)
  79.     or.b    TabNZC_CMP-TabP(A3,D0.W),D4
  80.     ENDM
  81.  
  82. TO_LOOP:MACRO
  83. TOLoop\@:
  84.     addq.l    #1,D0
  85.     move.w    (A6,D0.L*2),D6
  86.     beq.b    TOFock    
  87.     cmp.l    D6,D7
  88.     bne.b    TOLoop\@
  89.  
  90.     lea    IO_AmigaRoutineTable(PC),A6
  91.     move.l    (A6,D0.L*4),A6
  92.     jmp    (A6)
  93.     ENDM
  94.     
  95.